// 导入express模块
const express = require('express')

// 创建路由对象
const router = express.Router()

// 导入multer上传文件处理方案
const multer = require("multer")

// 导入fs
const fs = require('fs')






// 导入用户路由处理函数模块
const userHandler = require('../router-handler/user.js')

// 注册新用户  
router.post('/register', userHandler.regUser)

// 用户登录 
router.post('/login2', userHandler.login2)

// 管理员登录
router.post('/login', userHandler.login)

// 修改用户信息
router.post('/update', userHandler.update)



// 建立存储图片的文件夹和设置图片的新名字
var storage = multer.diskStorage({
    // file为当前上传的图片  cb为回调函数  null为错误信息
    destination: function (req, file, cb) {
        // 指定文件存放路径
        cb(null, './upload/')
    },
    filename: function (req, file, cb) {
        // 设置新的文件名     file.originalname文件最初的名字
        cb(null, Date.now() + '-' + file.originalname)
    }

})


// 封装捕获异常函数
var createFolder = function (folder) {

    // 有错误抛出错误
    try {
        // 判断文件和目录是否存在
        fs.accessSync(folder)
    }
    
    // 处理错误
    catch (e) {
        // 创建文件夹和目录
        fs.mkdirSync(folder)
    }
}

// 路径存到upload变量里
var upload = './upload/'

// 检查文件是否有异常
createFolder(upload)


// 添加配置文件到multer对象
var upload = multer({storage: storage})


// 处理请求的文件并返回信息    single()上传单个文件   'file'为前端上传图像的name值
router.post('/upload', upload.single('file'), (req, res) => {
    const file = req.file
    // file.path 文件在服务器上的路径
    res.json({ res_code: '0', name: file.originalname, url: file.path })
})






// 添加商品
router.post('/add', userHandler.add)




// 请求商品数据
router.post('/shop', userHandler.shop)


// 订单
router.post('/car', userHandler.car)


// 客户已构物信息
router.post('/car2', userHandler.car2)


// 搜索商品
router.post('/search', userHandler.search)


// 查询已购商品
router.post('/search2', userHandler.search2)

// 搜索商品
router.post('/search3', userHandler.search3)


// 更改价格
router.post('/search4', userHandler.search4)

// 删除商品
router.post('/delete', userHandler.delete)


// 查询订单
router.post('/car3', userHandler.car3)


// 发货

router.post('/car4', userHandler.car4)


// 查询用户
router.post('/search5', userHandler.search5)


// 删除用户
router.post('/delete2', userHandler.delete2)



// 将路由对象共享出去
module.exports = router